
#ifndef COMUN_H_
#define COMUN_H_

#include <pthread.h>

#define LOGMESSAGE_STDOUT 1
#define MAX_CONECCIONES 20	/*	Maximo de conecciones por Socket	*/
#define MAX_IP_LENGTH 20 /*Longitud maxima de un string que alberga una cadena del tipo 255.255.255.255*/

typedef struct ConfigParamsTag
{
	char Clave[256];
	char Valor[1024];
} ConfigParams_t;

/*Recibe un array de ConfigParams_t y el tamaño del array. Devuelve
 * el array completado, con un elemento (clave/valor) para cada parametro encontrado en el archivo.
 * Si no se encuentran suficientes parametros da error. No valida nombres de parámetros ni que
 * sean del tipo correcto */

#define MAX_PARAMS_IN_FILE 10

#define LOG_ERR 			(char)1
#define LOG_WARN 			(char)2
#define LOG_INFO 			(char)3
#define LOG_DEBUG 			(char)4
#define LOG_DEFAULT_LEVEL	LOG_DEBUG


int getLogLevel();
void setLogLevel (int level);
int logMessage(const char iSeverity, char *sMsg, ... );
int getCurrentProcessInfo( char *sProcName, char *sDir );
int inicializarSemaforos(char*);
int existeArchivo( char *sPathAbsoluto );

void initSemLog();
pthread_mutex_t *log_getSemLog();
void dc_setSemLog(pthread_mutex_t semaforo);


#endif /* COMUN_H_ */
